﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.Data;


namespace Filmek
{
    class MyReader: DAL2
    {
        //private SqlDataReader reader;

        TextBox FilmNevTxt;
        TextBox ArTxt;
        DateTimePicker KiadasiDatumPick;
        TextBox HosszTxt;
        TextBox LeirasTxt;
        TextBox ErtekelesTxt;
        ComboBox MikorCombo;
        String itemToModify;
        ListView listView1;
        ListView listView2;
        ListView listView3;
        ListView listView4;
        String itemType;

        //regi adatok a filmrol
        public String regiFilmNev;
        public String regiFilmLeiras;
        public String regiKiDat;
        public int regiAr;
        public float regiErtekeles;
        public int regiHossz;
        public int regiMostID;

        public String regiRendezoNev;
        public String regiRendezoLeiras;
        public String regiRendezoSzulDat;
        public String regiNemzetiseg;

        public String regiSzineszNev;
        public String regiSzineszSzulHely;
        public String regiSzineszSzulDat;
        public int regiNem;

        public MyReader(ref bool Err)
        {
            
            if (!base.IsConnectCreated())
            {
                Err = !base.MakeConnection();
            }
        }

		//kiolvas adatokat, visszateriti
        public List<String> read(String searchFor, String searchBy)
        {
            string error = "";

            List<String> data = new List<String>();

            myAccessConn.Close();
            myAccessConn.Open();

            //OleDbDataReader reader = null;
            SqlDataReader reader = null;

            //MessageBox.Show("Readerbe");

            switch (searchBy)
            {
                case "Film":
                    reader = myExecuteReader("SELECT FilmNev FROM Filmek WHERE FilmNev like '%" + searchFor + "%'", ref error);
                    break;

                case "Szinesz":
                    reader = myExecuteReader("SELECT Nev FROM Szineszek WHERE Nev LIKE '%" + searchFor + "%'", ref error);
                    break;

                case "Rendezo":
                    reader = myExecuteReader("SELECT Nev FROM Rendezok WHERE Nev Like '%" + searchFor + "%'", ref error);
                    break;

                default:
                    MessageBox.Show("Valasszan ki valamit");
                    break;
            }

            while (reader.Read())
            {
                data.Add(reader[0].ToString());
            }


            return data;
        }

		//feltolti adatokkal a listviewt
        public void feltoltListView(TextBox mySearch, ComboBox searchByCombo,ListView listView1)
        {
            bool Err = false;

            listView1.Items.Clear();

            List<String> c = new List<String>();

            c = read(mySearch.Text, searchByCombo.Text);

            for (int i = 0; i < c.Count; i++)
            {
                ListViewItem item = new ListViewItem(c[i]);
                listView1.Items.Add(item);
            }
        }

		//infokat terit vixxa vmirol
        public void getInfo(TextBox mySearch, ComboBox searchByCombo, ListView listView1)
        {
            string error = "";
            List<String> c = new List<string>();

            ListViewItem item = listView1.FocusedItem;
            String txt =  item.SubItems[0].Text;

            SqlDataReader reader = myExecuteReader("", ref error);

            MessageBox.Show(txt);
			
        }


		//FELTOLTESEK Modositasra
		public void feltoltDolgok(TextBox FilmNevTxt, TextBox ArTxt, DateTimePicker KiadasiDatumPick, TextBox HosszTxt, TextBox LeirasTxt, TextBox ErtekelesTxt, ComboBox MikorCombo, RadioButton radio1, RadioButton radio2, String itemToModify, ListView listView1, ListView listView2, ListView listView3, ListView listView4, TextBox drbTxtBox, String itemType)
		{
			switch (itemType)
			{
				case "Film":
					feltoltDolgokFilm(FilmNevTxt, ArTxt, KiadasiDatumPick, HosszTxt, LeirasTxt, ErtekelesTxt, MikorCombo, radio1, radio2, itemToModify, listView1, listView2, listView3, listView4, drbTxtBox, itemType);
				break;

				case "Szinesz":
				feltoltDolgokSzinesz(FilmNevTxt, ArTxt, KiadasiDatumPick, HosszTxt, LeirasTxt, ErtekelesTxt, MikorCombo, radio1, radio2, itemToModify, listView1, listView2, listView3, listView4, itemType);
				break;

				case "Rendezo":
				feltoltDolgokRendezo(FilmNevTxt, ArTxt, KiadasiDatumPick, HosszTxt, LeirasTxt, ErtekelesTxt, MikorCombo, radio1, radio2, itemToModify, listView1, listView2, listView3, listView4, itemType);
				break;
			}
		}

		//FILM
		public void feltoltDolgokFilm(TextBox FilmNevTxt, TextBox ArTxt, DateTimePicker KiadasiDatumPick, TextBox HosszTxt, TextBox LeirasTxt, TextBox ErtekelesTxt, ComboBox MikorCombo, RadioButton radio1, RadioButton radio2, String itemToModify, ListView listView1, ListView listView2, ListView listView3, ListView listView4, TextBox drbTxtBox, String itemType)
        {
            String error = "";
            string mikorMoziban;

            myAccessConn.Close();
            myAccessConn.Open();

            SqlDataReader reader = myExecuteReader("SELECT FilmNev, Ar, KiDat, Hosz, Leiras, Most.Jelentes, Ertekeles, DrbRaktaron FROM Filmek, Most WHERE FilmNev = '" + itemToModify + "' AND Filmek.MostID = Most.MostID", ref error);
            
            //MessageBox.Show(error);

            reader.Read();

            
            FilmNevTxt.Text = reader[0].ToString();
            ArTxt.Text = reader[1].ToString();
            KiadasiDatumPick.Text = reader[2].ToString();
            HosszTxt.Text = reader[3].ToString();
            LeirasTxt.Text = reader[4].ToString();
            mikorMoziban = reader[5].ToString();
            ErtekelesTxt.Text = reader[6].ToString();
            drbTxtBox.Text = reader[7].ToString();

            myAccessConn.Close();
                
  

            List<string> mikorList = new List<string>();
            SqlDataReader reader2 = myExecuteReader("SELECT Jelentes FROM Most", ref error);

            while (reader2.Read())
            {
                mikorList.Add(reader2[0].ToString());
            }
            
            MikorCombo.DataSource = mikorList;

            
            bool ok = true;
            for (int i = 0; i < MikorCombo.Items.Count && ok; i++)
            {
                MikorCombo.SelectedIndex = i;
                if (mikorMoziban == MikorCombo.SelectedItem.ToString())
                    ok = false;
            }

            myAccessConn.Close();
            myAccessConn.Open();


            listView1.Items.Clear();
            listView2.Items.Clear();
            listView3.Items.Clear();
            listView4.Items.Clear();

            //akik ebbe voltak
            SqlDataReader reader3 = myExecuteReader("SELECT Szineszek.Nev FROM Filmek, Szineszek, Szerepel WHERE Filmek.FilmNev = '" + itemToModify + "' AND Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID", ref error);
            //MessageBox.Show(error);

            while (reader3.Read())
            {
                ListViewItem item = new ListViewItem(reader3[0].ToString());
                listView4.Items.Add(item);
            }


            myAccessConn.Close();
            myAccessConn.Open();

            SqlDataReader reader4 = myExecuteReader("SELECT Rendezok.Nev FROM Filmek, Rendezok, Rendezte WHERE Filmek.FilmNev = '" + itemToModify + "' AND Rendezte.FilmID = Filmek.FilmID AND Rendezte.RendezoID = Rendezok.RendezoID", ref error);
            //MessageBox.Show(error);

            while (reader4.Read())
            {
                ListViewItem item = new ListViewItem(reader4[0].ToString());
                listView3.Items.Add(item);
            }


            //osszes
            myAccessConn.Close();
            myAccessConn.Open();

            SqlDataReader reader5 = myExecuteReader("(SELECT DISTINCT Rendezok.Nev FROM Rendezok) EXCEPT (" + "SELECT Rendezok.Nev FROM Filmek, Rendezok, Rendezte WHERE Filmek.FilmNev = '" + itemToModify + "' AND Rendezte.FilmID = Filmek.FilmID AND Rendezte.RendezoID = Rendezok.RendezoID)", ref error);
            //MessageBox.Show(error);

            while (reader5.Read())
            {
                ListViewItem item = new ListViewItem(reader5[0].ToString());
                listView1.Items.Add(item);
            }


            myAccessConn.Close();
            myAccessConn.Open();

            SqlDataReader reader6 = myExecuteReader("(SELECT DISTINCT Szineszek.Nev FROM Szineszek) EXCEPT (" + "SELECT Szineszek.Nev FROM Filmek, Szineszek, Szerepel WHERE Filmek.FilmNev = '" + itemToModify + "' AND Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID)", ref error);
            //MessageBox.Show(error);

            while (reader6.Read())
            {
                ListViewItem item = new ListViewItem(reader6[0].ToString());
                listView2.Items.Add(item);
            }

			//myAccessConn.Close();
        }

        public void feltoltKosar(ListView listView1,Kosar k)
        {
            String error = "";
            ListViewItem item;
			String []items = {" "," ", " "};

			//MessageBox.Show(k.n + "");

            for (int i = 0; i < k.n; i++)
            {
				SqlDataReader reader = null;
				try
				{
					myAccessConn.Close();
					myAccessConn.Open();
					//MessageBox.Show("id: " + k.idk[i,0]);
					reader = myExecuteReader("Select FilmNev, Ar From Filmek Where FilmID = " + k.idk[i, 0] + "", ref error);
				}
				catch (Exception e)
				{
					MessageBox.Show(error + "\n" + e.ToString());
				}
				
                reader.Read();

				item = new ListViewItem(items);
                //item = new ListViewItem(reader[0].ToString());
				item.SubItems[0].Text = reader[0].ToString();
				item.SubItems[1].Text = reader[1].ToString();
				item.SubItems[2].Text = k.idk[i, 1].ToString();
				//MessageBox.Show("item: " + reader[0].ToString());
                listView1.Items.Add(item);
            }

        }

         //SZINESZ
         public void feltoltDolgokSzinesz(TextBox FilmNevTxt, TextBox ArTxt, DateTimePicker KiadasiDatumPick, TextBox HosszTxt, TextBox LeirasTxt, TextBox ErtekelesTxt, ComboBox MikorCombo, RadioButton radio1, RadioButton radio2, String itemToModify, ListView listView1, ListView listView2, ListView listView3, ListView listView4, String itemType)
         {
             int nem;
             String nnem;
             String error = "";

             myAccessConn.Close();
             myAccessConn.Open();

             SqlDataReader reader = myExecuteReader("SELECT NEV, SzulDat, SzulHely, Nemzetiseg, Nem From Szineszek Where Nev = '" + itemToModify + "'", ref error);
             //MessageBox.Show(error);

             reader.Read();


             //seged = "Update Szineszek Set Nev = '" + FilmNevTxt.Text + "', SzulDat =  '" + KiadasiDatumPick.Text + "', SzulHely =  '" + ArTxt.Text + "', Nemzetiseg =  '" + HosszTxt.Text + "', Nem = " + nem + ")";
			

             FilmNevTxt.Text = reader[0].ToString();
             KiadasiDatumPick.Text = reader[1].ToString();
             ArTxt.Text = reader[2].ToString();
             HosszTxt.Text = reader[3].ToString();
             nnem = reader[4].ToString();

             //MessageBox.Show(nnem);

             if (nnem == "True")
             {
                 //no
                 radio2.Checked = true;
                 //nem = 1;
             }
             else
             {
                 //ferfi
                 radio1.Checked = true;
                 //nem = 0;
             }
				

		

             myAccessConn.Close();
             myAccessConn.Open();


             listView1.Items.Clear();
             listView2.Items.Clear();
             listView3.Items.Clear();
             listView4.Items.Clear();

             //amiben szerepel
             SqlDataReader reader3 = myExecuteReader("SELECT FilmNev FROM Filmek, Szineszek, Szerepel WHERE Szineszek.Nev = '" + itemToModify + "' AND Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID", ref error);
             //MessageBox.Show(error);

             while (reader3.Read())
             {
                 ListViewItem item = new ListViewItem(reader3[0].ToString());
                 listView4.Items.Add(item);
             }



             myAccessConn.Close();
             myAccessConn.Open();

             SqlDataReader reader6 = myExecuteReader("(SELECT DISTINCT FilmNev FROM Filmek) EXCEPT (" + "SELECT FilmNev FROM Filmek, Szineszek, Szerepel WHERE Szineszek.Nev = '" + itemToModify + "' AND Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID)", ref error);
             //MessageBox.Show(error);

             while (reader6.Read())
             {
                 ListViewItem item = new ListViewItem(reader6[0].ToString());
                 listView2.Items.Add(item);
             }
         }

         //RENDEZO
         public void feltoltDolgokRendezo(TextBox FilmNevTxt, TextBox ArTxt, DateTimePicker KiadasiDatumPick, TextBox HosszTxt, TextBox LeirasTxt, TextBox ErtekelesTxt, ComboBox MikorCombo, RadioButton radio1, RadioButton radio2, String itemToModify, ListView listView1, ListView listView2, ListView listView3, ListView listView4, String itemType)
         {
             String error = "";

             myAccessConn.Close();
             myAccessConn.Open();

             SqlDataReader reader = myExecuteReader("SELECT Nev, SzulDat, Nemzetiseg, Leiras From Rendezok Where Nev = '" + itemToModify + "'", ref error);
             //MessageBox.Show(error);

             reader.Read();


			


             FilmNevTxt.Text = reader[0].ToString();
             KiadasiDatumPick.Text = reader[1].ToString();
             HosszTxt.Text = reader[2].ToString();
             LeirasTxt.Text= reader[3].ToString();

			
             myAccessConn.Close();
             myAccessConn.Open();

             listView1.Items.Clear();
             listView2.Items.Clear();
             listView3.Items.Clear();
             listView4.Items.Clear();

             //amiben szerepel
             SqlDataReader reader3 = myExecuteReader("SELECT FilmNev FROM Filmek, Rendezok, Rendezte WHERE Rendezok.Nev = '" + itemToModify + "' AND Filmek.FilmID = Rendezte.FilmID AND Rendezte.RendezoID = Rendezok.RendezoID", ref error);
             //MessageBox.Show(error);

             while (reader3.Read())
             {
                 ListViewItem item = new ListViewItem(reader3[0].ToString());
                 listView3.Items.Add(item);
             }



             myAccessConn.Close();
             myAccessConn.Open();

             SqlDataReader reader6 = myExecuteReader("(SELECT DISTINCT FilmNev FROM Filmek) EXCEPT (" + "SELECT FilmNev FROM Filmek, Rendezok, Rendezte WHERE Rendezok.Nev = '" + itemToModify + "' AND Filmek.FilmID = Rendezte.FilmID AND Rendezte.RendezoID = Rendezok.RendezoID)", ref error);
             //MessageBox.Show(error);

             while (reader6.Read())
             {
                 ListViewItem item = new ListViewItem(reader6[0].ToString());
                 listView1.Items.Add(item);
             }
         }

         public void feltoltDolgokUj(TextBox FilmNevTxt, TextBox ArTxt, DateTimePicker KiadasiDatumPick, TextBox HosszTxt, TextBox LeirasTxt, TextBox ErtekelesTxt, ComboBox MikorCombo, RadioButton radio1, RadioButton radio2, String itemToModify, String itemType)
         {
             /*
             FilmNevTxt = this.FilmNevTxt;
             ArTxt = this.ArTxt;
             KiadasiDatumPick = this.KiadasiDatumPick;
             HosszTxt = this.HosszTxt;
             LeirasTxt = this.LeirasTxt;
             ErtekelesTxt = this.ErtekelesTxt;
             MikorCombo = this.MikorCombo;
             itemToModify = this.itemToModify;
             listView1 = this.listView1;
             listView2 = this.listView2;
             listView3 = this.listView3;
             listView4 = this.listView4;
             itemType = this.itemType;
             */

			MessageBox.Show("Feltolt ujban");

			String error = "";
			string mikorMoziban;

			/*myAccessConn.Close();
			myAccessConn.Open();

			SqlDataReader reader = myExecuteReader("SELECT FilmNev, Ar, KiDat, Hosz, Leiras, Most.Jelentes, Ertekeles.Ertekeles FROM Filmek, Most, Ertekeles WHERE FilmNev = '" + itemToModify + "' AND Filmek.MostID = Most.MostID AND Ertekeles.FilmID = Filmek.FilmID", ref error);

			MessageBox.Show(error);

			reader.Read();


			FilmNevTxt.Text = reader[0].ToString();
			ArTxt.Text = reader[1].ToString();
			KiadasiDatumPick.Text = reader[2].ToString();
			HosszTxt.Text = reader[3].ToString();
			LeirasTxt.Text = reader[4].ToString();
			mikorMoziban = reader[5].ToString();
			ErtekelesTxt.Text = reader[6].ToString();

			myAccessConn.Close();
			*/

			myAccessConn.Close();

			List<string> mikorList = new List<string>();
			SqlDataReader reader2 = myExecuteReader("SELECT Jelentes FROM Most", ref error);
			//MessageBox.Show(error);

			while (reader2.Read())
			{
				mikorList.Add(reader2[0].ToString());
			}

			MikorCombo.DataSource = mikorList;


			/*bool ok = true;
			for (int i = 0; i < MikorCombo.Items.Count && ok; i++)
			{
				MikorCombo.SelectedIndex = i;
				if (mikorMoziban == MikorCombo.SelectedItem.ToString())
					ok = false;
			}
			*/
			
		}

		//a mikor moziban combo feltoltese
		public void feltoltCombo(ComboBox combo)
		{
			String error = "";

			myAccessConn.Close();

			List<string> mikorList = new List<string>();
			SqlDataReader reader2 = myExecuteReader("SELECT Jelentes FROM Most", ref error);
			//MessageBox.Show(error);

			while (reader2.Read())
			{
				mikorList.Add(reader2[0].ToString());
			}

			combo.DataSource = mikorList;
		}


		//FELTOLTESEK UJRA
		public void feltoltListViewModositasban(ListView listView1, ListView listView2, ListView listView3, ListView listView4, String itemType)
		{
			switch (itemType)
			{
				case "Film":
					feltoltListViewModositasbanFilm(listView1, listView2, listView3, listView4);
				break;

				case "Szinesz":
					feltoltListViewModositasbanSzinesz(listView1, listView2, listView3, listView4);
				break;

				case "Rendezo":
					feltoltListViewModositasbanRendezo(listView1, listView2, listView3, listView4);
				break;
			}
		}

		//feltolt listviewkat modositban filmnek
		public void feltoltListViewModositasbanFilm(ListView listView1, ListView listView2, ListView listView3, ListView listView4)
		{
			String error = "";
			
			myAccessConn.Close();
			myAccessConn.Open();
            OpenConnection();

			listView1.Items.Clear();
			listView2.Items.Clear();
			listView3.Items.Clear();
			listView4.Items.Clear();

			//akik ebbe voltak
			SqlDataReader reader3 = myExecuteReader("SELECT Szineszek.Nev FROM Filmek, Szineszek, Szerepel WHERE Filmek.FilmNev = '" + itemToModify + "' AND Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID", ref error);
			//MessageBox.Show(error);

			while (reader3.Read())
			{
				ListViewItem item = new ListViewItem(reader3[0].ToString());
				listView4.Items.Add(item);
			}


			myAccessConn.Close();
			myAccessConn.Open();

			SqlDataReader reader4 = myExecuteReader("SELECT Rendezok.Nev FROM Filmek, Rendezok, Rendezte WHERE Filmek.FilmNev = '" + itemToModify + "' AND Rendezte.FilmID = Filmek.FilmID AND Rendezte.RendezoID = Rendezok.RendezoID", ref error);
			//MessageBox.Show(error);

			while (reader4.Read())
			{
				ListViewItem item = new ListViewItem(reader4[0].ToString());
				listView3.Items.Add(item);
			}


			//osszes
			myAccessConn.Close();
			myAccessConn.Open();

			SqlDataReader reader5 = myExecuteReader("(SELECT DISTINCT Rendezok.Nev FROM Rendezok) EXCEPT (" + "SELECT Rendezok.Nev FROM Filmek, Rendezok, Rendezte WHERE Filmek.FilmNev = '" + itemToModify + "' AND Rendezte.FilmID = Filmek.FilmID AND Rendezte.RendezoID = Rendezok.RendezoID)", ref error);
			//MessageBox.Show(error);

			while (reader5.Read())
			{
				ListViewItem item = new ListViewItem(reader5[0].ToString());
				listView1.Items.Add(item);
			}


			myAccessConn.Close();
			myAccessConn.Open();

			SqlDataReader reader6 = myExecuteReader("(SELECT DISTINCT Szineszek.Nev FROM Szineszek) EXCEPT (" + "SELECT Szineszek.Nev FROM Filmek, Szineszek, Szerepel WHERE Filmek.FilmNev = '" + itemToModify + "' AND Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID)", ref error);
			//MessageBox.Show(error);

			while (reader6.Read())
			{
				ListViewItem item = new ListViewItem(reader6[0].ToString());
				listView2.Items.Add(item);
			}
            CloseConnection();
		}

		//feltolt listviewkat modositban szinesznek
		public void feltoltListViewModositasbanSzinesz(ListView listView1, ListView listView2, ListView listView3, ListView listView4)
		{
			String error = "";

			myAccessConn.Close();
			myAccessConn.Open();

			listView1.Items.Clear();
			listView2.Items.Clear();
			listView3.Items.Clear();
			listView4.Items.Clear();

			//amiben szerepel
			SqlDataReader reader3 = myExecuteReader("SELECT FilmNev FROM Filmek, Szineszek, Szerepel WHERE Szineszek.Nev = '" + itemToModify + "' AND Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID", ref error);
			//MessageBox.Show(error);

			while (reader3.Read())
			{
				ListViewItem item = new ListViewItem(reader3[0].ToString());
				listView4.Items.Add(item);
			}

			
	
			myAccessConn.Close();
			myAccessConn.Open();

			SqlDataReader reader6 = myExecuteReader("(SELECT DISTINCT FilmNev FROM Filmek) EXCEPT (" + "SELECT FilmNev FROM Filmek, Szineszek, Szerepel WHERE Szineszek.Nev = '" + itemToModify + "' AND Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID)", ref error);
			//MessageBox.Show(error);

			while (reader6.Read())
			{
				ListViewItem item = new ListViewItem(reader6[0].ToString());
				listView2.Items.Add(item);
			}

			
		}

		//feltolt listviewkat modositban rendezonek
		public void feltoltListViewModositasbanRendezo(ListView listView1, ListView listView2, ListView listView3, ListView listView4)
		{
			String error = "";

			myAccessConn.Close();
			myAccessConn.Open();

			listView1.Items.Clear();
			listView2.Items.Clear();
			listView3.Items.Clear();
			listView4.Items.Clear();

			//amiben szerepel
			SqlDataReader reader3 = myExecuteReader("SELECT FilmNev FROM Filmek, Rendezok, Rendezte WHERE Rendezok.Nev = '" + itemToModify + "' AND Filmek.FilmID = Rendezte.FilmID AND Rendezte.RendezoID = Rendezok.RendezoID", ref error);
			//MessageBox.Show(error);

			while (reader3.Read())
			{
				ListViewItem item = new ListViewItem(reader3[0].ToString());
				listView3.Items.Add(item);
			}


			
			myAccessConn.Close();
			myAccessConn.Open();

			SqlDataReader reader6 = myExecuteReader("(SELECT DISTINCT FilmNev FROM Filmek) EXCEPT (" + "SELECT FilmNev FROM Filmek, Rendezok, Rendezte WHERE Rendezok.Nev = '" + itemToModify + "' AND Filmek.FilmID = Rendezte.FilmID AND Rendezte.RendezoID = Rendezok.RendezoID)", ref error);
			//MessageBox.Show(error);

			while (reader6.Read())
			{
				ListViewItem item = new ListViewItem(reader6[0].ToString());
				listView1.Items.Add(item);
			}
		}

		//mentes
		public bool mentes(TextBox FilmNevTxt, TextBox ArTxt, DateTimePicker KiadasiDatumPick, TextBox HosszTxt, TextBox LeirasTxt, TextBox ErtekelesTxt, ComboBox MikorCombo, RadioButton radio1, RadioButton radio2, String itemToModify, int ID, String what, TextBox drbTxtBox)
        {

			string seged;
			string seged2;		SqlCommand cmd;
			SqlCommand cmd2;
            myAccessConn.Close();
            myAccessConn.Open();
            SqlTransaction objTrans = DAL2.myAccessConn.BeginTransaction(IsolationLevel.Serializable);

            bool optimista = true;
            string regiFilmNev2;
            string regiKiDat2;
            int regiHossz2;
            int regiAr2;
            string regiLeiras2;
            int regiMostID2;
            float regiErtekeles2;
            int regiHanyanErtek2;
            int regiDrbRaktaron2;

			switch (what)
			{
				//FILM
				case "FilmModosit":
						seged = "UPDATE Filmek SET Filmek.FilmNev = '" + FilmNevTxt.Text + "', Filmek.Ar = " + ArTxt.Text + ", Filmek.KiDat = '" + KiadasiDatumPick.Text + "', Filmek.Hosz = " + HosszTxt.Text + ", Filmek.Leiras = '" + LeirasTxt.Text + "', Filmek.MostID = " + MikorCombo.SelectedIndex + ", Filmek.Ertekeles =" + ErtekelesTxt.Text + ", Filmek.DrbRaktaron = " + drbTxtBox.Text + " WHERE Filmek.FilmID=" + ID;
						
                        
						try
						{
							OpenConnection();

							
                            //cmd.Transaction = objTrans;

							myAccessConn.Close();
							myAccessConn.Open();

                            string query = "Select * from Filmek where FIlmID = "+ID;
                            string error = string.Empty;
                            SqlDataReader rdr = ExecuteReader(query, ref error);
                            rdr.Read();
                          
                                 regiFilmNev2=rdr["Filmnev"].ToString();
                                 regiKiDat2=rdr["KiDat"].ToString();
                                 regiHossz2 = Convert.ToInt32(rdr["Hosz"]);
                                 regiAr2 = Convert.ToInt32(rdr["Ar"]);
                                 regiLeiras2 = rdr["Leiras"].ToString();
                                 regiMostID2 = Convert.ToInt32(rdr["MostID"]);
                                 regiErtekeles2 = Convert.ToInt32(rdr["Ertekeles"]);
                                 regiHanyanErtek2 = Convert.ToInt32(rdr["HanyanErtek"]);
                                 regiDrbRaktaron2 = Convert.ToInt32(rdr["DrbRaktaron"]);

                                 myAccessConn.Close();
                                 myAccessConn.Open();

                            if(regiFilmNev2!=regiFilmNev || regiHossz2!=regiHossz || regiAr2!=regiAr || regiLeiras2!=regiFilmLeiras ||
                                regiErtekeles2!=regiErtekeles )
                                optimista=false;
                            if (optimista)
                            {
                                cmd = new SqlCommand(seged, DAL2.myAccessConn);
                                cmd.ExecuteNonQuery();
                                cmd.Dispose();
                                CloseConnection();
                            }
							
                            else
                                MessageBox.Show("Nem sikerult a modositas(modosult az adatbazis)!:");
                            CloseConnection();
							/*s
                            OpenConnection();

							
                            cmd2 = new SqlCommand(seged2, DAL2.myAccessConn);

							myAccessConn.Close();
							myAccessConn.Open();

							cmd2.ExecuteNonQuery();

							CloseConnection();
                             * */

                            if (optimista)
                            {
                                MessageBox.Show("Sikerult a modositas!");

                                return true;
                            }
                            else return false;


						}
						catch (Exception e1)
						{
							MessageBox.Show("Nem sikerult a modositas!:");
                            //objTrans.Rollback();
							return false;
						}
					break;

				case "FilmUj":
						seged = "INSERT INTO Filmek VALUES ('" + FilmNevTxt.Text + "', '" + KiadasiDatumPick.Text + "'," + HosszTxt.Text + "," + ArTxt.Text + ",'" + LeirasTxt.Text + "'," + MikorCombo.SelectedIndex + ", " + ErtekelesTxt.Text + ", 0, " + drbTxtBox.Text +")";
						
						try
						{
							OpenConnection();

							cmd = new SqlCommand(seged, DAL2.myAccessConn);
                            cmd.Transaction = objTrans;

							myAccessConn.Close();
							myAccessConn.Open();

                         
                            cmd.ExecuteNonQuery();
                            cmd.Dispose();
                            CloseConnection();

							

							
                            /*OpenConnection();

							int myID = getFilmIDByName(FilmNevTxt.Text);
							seged2 = "INSERT INTO Ertekeles VALUES (" + myID + ", '" + ErtekelesTxt.Text + "', 0,0)";
							cmd2 = new SqlCommand(seged2, DAL2.myAccessConn);

							myAccessConn.Close();
							myAccessConn.Open();

							cmd2.ExecuteNonQuery();

							CloseConnection();
                            */
							MessageBox.Show("Uj film az adatbazisban!");

							return true;

						}
						catch (Exception e1)
						{
							MessageBox.Show("Nem sikerult a bevitel!");
                            objTrans.Rollback();
							return false;
						}
					break;


					//RENDEZO
					case "RendezoModosit":
						seged = "Update Rendezok Set Nev = '" + FilmNevTxt.Text + "', SzulDat = '" + KiadasiDatumPick.Text + "', Nemzetiseg = '" + HosszTxt.Text + "' , Leiras = '" + LeirasTxt.Text + "' Where RendezoID = " + ID;
						//MessageBox.Show(seged);

						try
						{
							OpenConnection();

							cmd = new SqlCommand(seged, DAL2.myAccessConn);
                            //cmd.Transaction = objTrans;

							myAccessConn.Close();
							myAccessConn.Open();

                            string query = "Select * from Rendezok where RendezoID = " + ID;
                            string error = string.Empty;
                            SqlDataReader rdr = ExecuteReader(query, ref error);
                            rdr.Read();

                            string regiRendezoNev2;
                            string regiRendezoLeiras2;
                            string regiNemzetiseg2;

                            regiRendezoNev2 = rdr["Nev"].ToString();
                            regiNemzetiseg2 = rdr["Nemzetiseg"].ToString();
                            regiRendezoLeiras2 = rdr["Leiras"].ToString();
                           

                            myAccessConn.Close();
                            myAccessConn.Open();

                            if (regiRendezoNev2 != regiRendezoNev || regiNemzetiseg2 != regiNemzetiseg || regiRendezoLeiras2 != regiRendezoLeiras)
                                optimista = false;
                            if (optimista)
                            {
                                cmd = new SqlCommand(seged, DAL2.myAccessConn);
                                cmd.ExecuteNonQuery();
                                cmd.Dispose();
                            }
                            else
                                MessageBox.Show("Nem sikerult a modositas(modosult az adatbazis)!:");
                            CloseConnection();



                            if (optimista)
                            {
                                MessageBox.Show("Sikerult a modositas!");

                                return true;
                            }
                            else return false;

						}
						catch (Exception e1)
						{
							MessageBox.Show("Nem sikerult a modositas!");
                            //objTrans.Rollback();
							return false;
						}
					break;

					case "RendezoUj":					
						seged = "INSERT INTO Rendezok VALUES ('" + FilmNevTxt.Text + "', '" + KiadasiDatumPick.Text + "', '" + HosszTxt.Text + "' , '" + LeirasTxt.Text + "' " + ")";
						//MessageBox.Show(seged);

						try
						{
							OpenConnection();

							cmd = new SqlCommand(seged, DAL2.myAccessConn);
                            cmd.Transaction = objTrans;
							myAccessConn.Close();
							myAccessConn.Open();

							cmd.ExecuteNonQuery();
                            cmd.Dispose();
							CloseConnection();
							
							MessageBox.Show("Uj rendezo az adatbazisban!");

							return true;

						}
						catch (Exception e1)
						{
                            MessageBox.Show("Nem sikerult a bevitel!"); 
                            objTrans.Rollback();
							return false;
						}
					break;


					//SZINESZ
					case "SzineszModosit":
						int nem;
						if (radio1.Checked == true)
							nem = 0; //ferfi
						else
							nem = 1;
						
						seged = "Update Szineszek Set Nev = '" + FilmNevTxt.Text + "', SzulDat =  '" + KiadasiDatumPick.Text + "', SzulHely =  '" + ArTxt.Text + "', Nemzetiseg =  '" + HosszTxt.Text + "', Nem = " + nem + "Where SzineszID = " + ID;
						//MessageBox.Show(seged);

						try
						{
							OpenConnection();

							cmd = new SqlCommand(seged, DAL2.myAccessConn);
                            //cmd.Transaction = objTrans;

							myAccessConn.Close();
							myAccessConn.Open();

                            string query = "Select * from Szineszek where SzineszID = " + ID;
                            string error = string.Empty;
                            SqlDataReader rdr = ExecuteReader(query, ref error);
                            rdr.Read();

                            string regiSzineszNev2;
                            string regiSzineszSzulHely2;
                            string regiSzineszNemzetiseg2;
                            int regiNem2;

                            regiSzineszNev2 = rdr["Nev"].ToString();
                            regiSzineszSzulHely2 = rdr["SzulHely"].ToString();
                            regiSzineszNemzetiseg2 = rdr["Nemzetiseg"].ToString();


                            myAccessConn.Close();
                            myAccessConn.Open();

                            if (regiSzineszNev2 != regiSzineszNev || regiSzineszNemzetiseg2 != regiNemzetiseg || regiSzineszSzulHely2 != regiSzineszSzulHely)
                                optimista = false;
                            if (optimista)
                            {
                                cmd = new SqlCommand(seged, DAL2.myAccessConn);
                                cmd.ExecuteNonQuery();
                                cmd.Dispose();
                            }
                            else
                                MessageBox.Show("Nem sikerult a modositas(modosult az adatbazis)!:");
                            CloseConnection();



                            if (optimista)
                            {
                                MessageBox.Show("Sikerult a modositas!");

                                return true;
                            }
                            else return false;


						}
						catch (Exception e1)
						{
							MessageBox.Show("Nem sikerult a modositas!");
                            //objTrans.Rollback();
							return false;
						}
					break;

					case "SzineszUj":
						if (radio1.Checked == true)
							nem = 0; //ferfi
						else
							nem = 1;

						seged = "INSERT INTO Szineszek VALUES ('" + FilmNevTxt.Text + "', '" + KiadasiDatumPick.Text + "', '" + ArTxt.Text + "', '" + HosszTxt.Text + "', " + nem + ")";
						//MessageBox.Show(seged);

						try
						{
							OpenConnection();

							cmd = new SqlCommand(seged, DAL2.myAccessConn);
                            cmd.Transaction = objTrans;

							myAccessConn.Close();
							myAccessConn.Open();

							cmd.ExecuteNonQuery();
                            cmd.Dispose();
							CloseConnection();

							MessageBox.Show("Uj szinesz az adatbazisban!");

							return true;

						}
						catch (Exception e1)
						{
							MessageBox.Show("Nem sikerult a bevitel!");
                            objTrans.Rollback();
							return false;
						}
					break;
			}

			return true;
        }

		//visszaadja film IDjat nev szerint
        public int getFilmIDByName(String itemName)
        {
            String error = "";

            myAccessConn.Close();
            myAccessConn.Open();

            SqlDataReader reader = null;
            reader = myExecuteReader("SELECT FilmID FROM Filmek WHERE FilmNev = '" + itemName + "'",ref error);

            reader.Read();

            int result;
            if (int.TryParse(reader[0].ToString(), out result))
                return result;
            else
                return -1;
        }

        //az arat id szerint
        public int getFilmPriceByID(int itemID)
        {
            String error = "";

            myAccessConn.Close();
            myAccessConn.Open();

            SqlDataReader reader = null;
            reader = myExecuteReader("SELECT Ar FROM Filmek WHERE FilmID = '" + itemID + "'", ref error);

            reader.Read();

            int result;
            if (int.TryParse(reader[0].ToString(), out result))
                return result;
            else
                return -1;
        }

        //hany darab van meg a raktaron
        public int getFilmDbByName(String itemName)
        {
            String error = "";

            myAccessConn.Close();
            myAccessConn.Open();

            SqlDataReader reader = null;
            reader = myExecuteReader("SELECT DrbRaktaron FROM Filmek WHERE FilmNev = '" + itemName + "'", ref error);

            reader.Read();

            int result;
            if (int.TryParse(reader[0].ToString(), out result))
                return result;
            else
                return -1;
        }

        //kivonok egyet a raktarrol
        public void kiveszRaktar(String itemName)
        {
            String error = "";

            myAccessConn.Close();
            myAccessConn.Open();

			SqlDataReader reader = null;
            reader = myExecuteReader("Update Filmek  set DrbRaktaron = DrbRaktaron-1 FROM Filmek WHERE FilmNev = '" + itemName + "'", ref error);
			
        }

		//visszaadja rendezo IDjat nev szerint
        public int getRendezoIDByName(String itemName)
        {
            String error = "";

            myAccessConn.Close();
            myAccessConn.Open();

            SqlDataReader reader = null;

			//MessageBox.Show(itemName);

            reader = myExecuteReader("SELECT RendezoID FROM Rendezok WHERE Nev = '" + itemName + "'", ref error);

            reader.Read();

            int result;
            if (int.TryParse(reader[0].ToString(), out result))
                return result;
            else
                return -1;
        }

		//visszaadja szinesz IDjat nev szerint
        public int getSzineszIDByName(String itemName)
        {
            String error = "";

            myAccessConn.Close();
            myAccessConn.Open();

            SqlDataReader reader = null;
            reader = myExecuteReader("SELECT SzineszID FROM Szineszek WHERE Nev = '" + itemName + "'", ref error);

            reader.Read();

            int result;
            if (int.TryParse(reader[0].ToString(), out result))
                return result;
            else
                return -1;
        }

		//elso hozzaadas
        public bool hozzaadRendezo(int itemToModifyID, String item, TextBox FilmNevTxt, TextBox ArTxt, DateTimePicker KiadasiDatumPick, TextBox HosszTxt, TextBox LeirasTxt, TextBox ErtekelesTxt, ComboBox MikorCombo, RadioButton radio1, RadioButton radio2, String itemToModify, ListView listView1, ListView listView2, ListView listView3, ListView listView4, TextBox drbTxtBox, String itemType)
        {
            int itemID;

			if (itemType == "Film")
			{
				itemID = getRendezoIDByName(item);
				string seged = "INSERT INTO Rendezte (FilmID,RendezoID) VALUES (" + itemToModifyID + ", " + itemID + ")";

				try
				{
					OpenConnection();

					SqlCommand cmd = new SqlCommand(seged, DAL2.myAccessConn);

					myAccessConn.Close();
					myAccessConn.Open();

					cmd.ExecuteNonQuery();

					CloseConnection();

					feltoltDolgok(FilmNevTxt, ArTxt, KiadasiDatumPick, HosszTxt, LeirasTxt, ErtekelesTxt, MikorCombo, radio1, radio2, itemToModify, listView1, listView2, listView3, listView4, drbTxtBox, itemType);

				}
				catch (Exception)
				{
					MessageBox.Show("Nem sikerult a hozzaadas! Probalja meg lementeni eloszor");
				}
			}
			else
			{
				itemID = getFilmIDByName(item);
				//MessageBox.Show(itemID.ToString() + " " + itemToModifyID);

				//itemtomodifyID = rendezo ID

				string seged = "INSERT INTO Rendezte (FilmID,RendezoID) VALUES (" + itemID + ", " + itemToModifyID + ")";

				try
				{
					OpenConnection();

					SqlCommand cmd = new SqlCommand(seged, DAL2.myAccessConn);

					myAccessConn.Close();
					myAccessConn.Open();

					cmd.ExecuteNonQuery();

					CloseConnection();

					feltoltDolgok(FilmNevTxt, ArTxt, KiadasiDatumPick, HosszTxt, LeirasTxt, ErtekelesTxt, MikorCombo, radio1, radio2, itemToModify, listView1, listView2, listView3, listView4, drbTxtBox, itemType);

				}
				catch (Exception)
				{
					MessageBox.Show("Nem sikerult a hozzaadas! Probalja meg lementeni eloszor");
				}
			}
            return true;
        }

		//masodik hozzaadas
		public bool hozzaadSzinesz(int itemToModifyID, String item, TextBox FilmNevTxt, TextBox ArTxt, DateTimePicker KiadasiDatumPick, TextBox HosszTxt, TextBox LeirasTxt, TextBox ErtekelesTxt, ComboBox MikorCombo, RadioButton radio1, RadioButton radio2, String itemToModify, ListView listView1, ListView listView2, ListView listView3, ListView listView4, TextBox drbTxtBox, String itemType)
        {
            int itemID;

			if (itemType == "Film")
			{
				itemID = getSzineszIDByName(item);
				string seged = "INSERT INTO Szerepel (FilmID,SzineszID) VALUES (" + itemToModifyID + ", " + itemID + ")";

				try
				{
					OpenConnection();

					SqlCommand cmd = new SqlCommand(seged, DAL2.myAccessConn);

					myAccessConn.Close();
					myAccessConn.Open();

					cmd.ExecuteNonQuery();

					CloseConnection();

                    feltoltDolgok(FilmNevTxt, ArTxt, KiadasiDatumPick, HosszTxt, LeirasTxt, ErtekelesTxt, MikorCombo, radio1, radio2, itemToModify, listView1, listView2, listView3, listView4, drbTxtBox, itemType);

					//MessageBox.Show("Sikerult a hozaadas!");
				}
				catch (Exception)
				{
					MessageBox.Show("Nem sikerult a hozzaadas! Probalja meg lementeni eloszor");
				}
			}
			else
			{
				itemID = getFilmIDByName(item);
				string seged = "INSERT INTO Szerepel (FilmID,SzineszID) VALUES (" + itemID + ", " + itemToModifyID + ")";

				try
				{
					OpenConnection();

					SqlCommand cmd = new SqlCommand(seged, DAL2.myAccessConn);

					myAccessConn.Close();
					myAccessConn.Open();

					cmd.ExecuteNonQuery();

					CloseConnection();

                    feltoltDolgok(FilmNevTxt, ArTxt, KiadasiDatumPick, HosszTxt, LeirasTxt, ErtekelesTxt, MikorCombo, radio1, radio2, itemToModify, listView1, listView2, listView3, listView4, drbTxtBox, itemType);

					//MessageBox.Show("Sikerult a hozaadas!");
				}
				catch (Exception)
				{
					MessageBox.Show("Nem sikerult a hozzaadas! Probalja meg lementeni eloszor");
				}
			}

            return true;
        }

		//elso kiveves
		public void kiveszRendezo(int itemToModifyID, String item, TextBox FilmNevTxt, TextBox ArTxt, DateTimePicker KiadasiDatumPick, TextBox HosszTxt, TextBox LeirasTxt, TextBox ErtekelesTxt, ComboBox MikorCombo, RadioButton radio1, RadioButton radio2, String itemToModify, ListView listView1, ListView listView2, ListView listView3, ListView listView4, TextBox drbTxtBox, String itemType)
        {
            int itemID;

			if (itemType == "Film")
			{
				itemID = getRendezoIDByName(item);
				string seged = "DELETE FROM Rendezte WHERE FilmID = " + itemToModifyID + " AND RendezoID = " + itemID + "";

				try
				{
					OpenConnection();

					SqlCommand cmd = new SqlCommand(seged, DAL2.myAccessConn);

					myAccessConn.Close();
					myAccessConn.Open();

					cmd.ExecuteNonQuery();

					CloseConnection();

                    feltoltDolgok(FilmNevTxt, ArTxt, KiadasiDatumPick, HosszTxt, LeirasTxt, ErtekelesTxt, MikorCombo, radio1, radio2, itemToModify, listView1, listView2, listView3, listView4, drbTxtBox, itemType);
				}
				catch (Exception)
				{
					MessageBox.Show("Nem sikerult a hozzaadas! Probalja meg lementeni eloszor");
				}
			}
			else
			{
				itemID = getFilmIDByName(item);
				//MessageBox.Show(itemID.ToString() + " " + itemToModifyID);
				string seged = "DELETE FROM Rendezte WHERE RendezoID = " + itemToModifyID + " AND FilmID = " + itemID + "";

				try
				{
					OpenConnection();

					SqlCommand cmd = new SqlCommand(seged, DAL2.myAccessConn);

					myAccessConn.Close();
					myAccessConn.Open();

					cmd.ExecuteNonQuery();

					CloseConnection();

                    feltoltDolgok(FilmNevTxt, ArTxt, KiadasiDatumPick, HosszTxt, LeirasTxt, ErtekelesTxt, MikorCombo, radio1, radio2, itemToModify, listView1, listView2, listView3, listView4, drbTxtBox, itemType);
				}
				catch (Exception)
				{
					MessageBox.Show("Nem sikerult a hozzaadas! Probalja meg lementeni eloszor");
				}
			}
        }

		//masodik kiveves
		public void kiveszSzinesz(int itemToModifyID, String item, TextBox FilmNevTxt, TextBox ArTxt, DateTimePicker KiadasiDatumPick, TextBox HosszTxt, TextBox LeirasTxt, TextBox ErtekelesTxt, ComboBox MikorCombo, RadioButton radio1, RadioButton radio2, String itemToModify, ListView listView1, ListView listView2, ListView listView3, ListView listView4, TextBox drbTxtBox, String itemType)
        {
            int itemID;

			if (itemType == "Film")
			{
				itemID = getSzineszIDByName(item);
				string seged = "DELETE FROM Szerepel WHERE FilmID = " + itemToModifyID + " AND SzineszID = " + itemID + "";

				try
				{
					OpenConnection();

					SqlCommand cmd = new SqlCommand(seged, DAL2.myAccessConn);

					myAccessConn.Close();
					myAccessConn.Open();

					cmd.ExecuteNonQuery();

					CloseConnection();

                    feltoltDolgok(FilmNevTxt, ArTxt, KiadasiDatumPick, HosszTxt, LeirasTxt, ErtekelesTxt, MikorCombo, radio1, radio2, itemToModify, listView1, listView2, listView3, listView4, drbTxtBox, itemType);
				}
				catch (Exception)
				{
					MessageBox.Show("Nem sikerult a hozzaadas! Probalja meg lementeni eloszor");
				}
			}
			else
			{
				itemID = getFilmIDByName(item);
				string seged = "DELETE FROM Szerepel WHERE FilmID = " + itemID + " AND SzineszID = " + itemToModifyID + "";

				try
				{
					OpenConnection();

					SqlCommand cmd = new SqlCommand(seged, DAL2.myAccessConn);

					myAccessConn.Close();
					myAccessConn.Open();

					cmd.ExecuteNonQuery();

					CloseConnection();

                    feltoltDolgok(FilmNevTxt, ArTxt, KiadasiDatumPick, HosszTxt, LeirasTxt, ErtekelesTxt, MikorCombo, radio1, radio2, itemToModify, listView1, listView2, listView3, listView4, drbTxtBox, itemType);
				}
				catch (Exception)
				{
					MessageBox.Show("Nem sikerult a hozzaadas! Probalja meg lementeni eloszor");
				}
			}
        }

		//torles
		public void torol(String item, String itemType)
		{
			switch (itemType)
			{
				case "Film":
					torolFilm(item);
				break;

				case "Szinesz":
					torolSzinesz(item);
				break;

				case "Rendezo":
					torolRendezo(item);
				break;
			}
		}

		//torles film
		public void torolFilm(String item)
		{
			int itemID = getFilmIDByName(item);
            SqlCommand command = new SqlCommand();
            myAccessConn.Close();
            myAccessConn.Open();
            command.Connection = myAccessConn;
            command.CommandText = "dbo.torolFilmSP";
            command.CommandType = CommandType.StoredProcedure;
            // input params
            command.Parameters.Add(new SqlParameter("@id", itemID));
            SqlParameter ret = command.Parameters.Add("@ret", SqlDbType.Int, sizeof(int));
            ret.Direction = ParameterDirection.Output;
            command.ExecuteNonQuery();
            int rett = (int)ret.Value;
            //SqlDataReader rdr = command.ExecuteReader();

            if (rett == 0)
                MessageBox.Show("Toroltem a filmet!");
            else
               MessageBox.Show("Nem sikerult a torles");
                
            /*
			string seged1 = "DELETE FROM Trailer WHERE FilmID = " + itemID;
			string seged2 = "DELETE FROM Szerepel WHERE FilmID = " + itemID;
			string seged3 = "DELETE FROM Rendezte WHERE FilmID = " + itemID;
			string seged4 = "DELETE FROM Filmek WHERE FilmID = " + itemID;
            string seged5 = "DELETE FROM Mufaja WHERE FilmID = " + itemID;
            myAccessConn.Close();
            myAccessConn.Open();
            SqlTransaction objTrans = DAL2.myAccessConn.BeginTransaction(IsolationLevel.Serializable);//isolationlevet.serializable
			try
			{
				OpenConnection();

				SqlCommand cmd2 = new SqlCommand(seged2, DAL2.myAccessConn);
                cmd2.Transaction = objTrans;

				myAccessConn.Close();
				myAccessConn.Open();

				cmd2.ExecuteNonQuery();
			
                cmd2.Dispose();
				CloseConnection();

				OpenConnection();

				SqlCommand cmd3 = new SqlCommand(seged3, DAL2.myAccessConn);
                cmd3.Transaction = objTrans;

				myAccessConn.Close();
				myAccessConn.Open();

				cmd3.ExecuteNonQuery();
				
                cmd3.Dispose();
				CloseConnection();

                OpenConnection();

                SqlCommand cmd1 = new SqlCommand(seged1, DAL2.myAccessConn);
                cmd1.Transaction = objTrans;

                myAccessConn.Close();
                myAccessConn.Open();

                cmd1.ExecuteNonQuery();

                cmd1.Dispose();
                CloseConnection();

                OpenConnection();

                SqlCommand cmd5 = new SqlCommand(seged5, DAL2.myAccessConn);
                cmd5.Transaction = objTrans;

                myAccessConn.Close();
                myAccessConn.Open();

                cmd5.ExecuteNonQuery();
                cmd5.Dispose();
                //objTrans.Commit();
                CloseConnection();

				OpenConnection();

				SqlCommand cmd4 = new SqlCommand(seged4, DAL2.myAccessConn);
                cmd4.Transaction = objTrans;

				myAccessConn.Close();
				myAccessConn.Open();

				cmd4.ExecuteNonQuery();
                cmd4.Dispose();
                //objTrans.Commit();
                CloseConnection();

                
				MessageBox.Show("Toroltem a filmet!");
                

				
			}
			catch (Exception e)
			{
                MessageBox.Show(e.ToString());
				MessageBox.Show("Nem sikerult a torles");
                try
                {
                    objTrans.Rollback();
                }
                catch (Exception ex2)
                {
                    MessageBox.Show(ex2.ToString());
                }
                objTrans.Dispose();
			}*/
		}

		//torles szinesz
		public void torolSzinesz(String item)
		{
			int itemID = getSzineszIDByName(item);
            /*
			string seged = "Delete From Szineszek Where SzineszID = " + itemID;
            SqlTransaction objTrans = null;
			try
			{
				String error = "";

				myAccessConn.Close();
				myAccessConn.Open();
                objTrans = DAL2.myAccessConn.BeginTransaction(IsolationLevel.Serializable);
				SqlDataReader reader = null;

				reader = myExecuteReader("Select * From Szerepel Where SzineszID = " + itemID, ref error);

				if (reader.Read())
					MessageBox.Show("A szinesz szerepelt valamiben, nem lehet torlolni!");
				else
				{
					OpenConnection();

					SqlCommand cmd = new SqlCommand(seged, DAL2.myAccessConn);
                    cmd.Transaction = objTrans;
					myAccessConn.Close();
					myAccessConn.Open();

					cmd.ExecuteNonQuery();
					MessageBox.Show("Toroltem a szineszt!");

					CloseConnection();
				}
			}
			catch (Exception e)
			{
                MessageBox.Show(e.ToString() + "Nem sikerult a torles");
                objTrans.Rollback();
				MessageBox.Show("Nem sikerult a torles");
			}
            */
            SqlCommand command = new SqlCommand();
            myAccessConn.Close();
            myAccessConn.Open();
            command.Connection = myAccessConn;
            command.CommandText = "dbo.torolSzineszSP";
            command.CommandType = CommandType.StoredProcedure;
            // input params
            command.Parameters.Add(new SqlParameter("@id", itemID));
            SqlParameter ret = command.Parameters.Add("@ret", SqlDbType.Int, sizeof(int));
            ret.Direction = ParameterDirection.Output;
            command.ExecuteNonQuery();
            int rett = (int)ret.Value;
            //SqlDataReader rdr = command.ExecuteReader();

            if(rett==0)
                MessageBox.Show("Toroltem a szineszt!");
            else
                if(rett==1)
                    MessageBox.Show("Nem sikerult a torles(szerepel valamelyik filmben)");
                else
                    MessageBox.Show("Nem sikerult a torles(nem letezik)");



		}

		////torles rendezo
		public void torolRendezo(String item)
		{
			int itemID = getRendezoIDByName(item);
            SqlCommand command = new SqlCommand();
            myAccessConn.Close();
            myAccessConn.Open();
            command.Connection = myAccessConn;
            command.CommandText = "dbo.torolSzineszSP";
            command.CommandType = CommandType.StoredProcedure;
            // input params
            command.Parameters.Add(new SqlParameter("@id", itemID));
            SqlParameter ret = command.Parameters.Add("@ret", SqlDbType.Int, sizeof(int));
            ret.Direction = ParameterDirection.Output;
            command.ExecuteNonQuery();
            int rett = (int)ret.Value;
            //SqlDataReader rdr = command.ExecuteReader();

            if (rett == 0)
                MessageBox.Show("Toroltem a szineszt!");
            else
                if (rett == 1)
                    MessageBox.Show("Nem sikerult a torles(szerepel valamelyik filmben)");
                else
                    MessageBox.Show("Nem sikerult a torles(nem letezik)");
/*
			string seged = "Delete From Rendezok Where RendezoID = " + itemID;
            SqlTransaction objTrans = DAL2.myAccessConn.BeginTransaction(IsolationLevel.Serializable);
			try
			{
				String error = "";

				myAccessConn.Close();
				myAccessConn.Open();

				SqlDataReader reader = null;
				reader = myExecuteReader("Select * From Rendezte Where RendezoID = " + itemID, ref error);

				if (reader.Read())
					MessageBox.Show("A rendezo rendezett filmet, nem lehet torlolni!");
				else
				{
					OpenConnection();

					SqlCommand cmd = new SqlCommand(seged, DAL2.myAccessConn);
                    cmd.Transaction = objTrans;
					myAccessConn.Close();
					myAccessConn.Open();

					cmd.ExecuteNonQuery();
					MessageBox.Show("Toroltem a rendezot!");

					CloseConnection();
				}
			}
			catch (Exception)
			{
                objTrans.Rollback();
				MessageBox.Show("Nem sikerult a torles");
			}*/
		}

		//feltolti a lekerdezeseket
		public void feltoltLekerdezesek(CheckedListBox box, String itemType)
		{
			box.Items.Clear();
			switch (itemType)
			{
				case "Film":
					feltoltLekerdezesekFilm(box);
				break;

				case "Rendezo":
					feltoltLekerdezesekRendezo(box);
				break;

				case "Szinesz":
					feltoltLekerdezesekSzinesz(box);
				break;
			}
		}

		////feltolti a lekerdezeseket filmeknek
		public void feltoltLekerdezesekFilm(CheckedListBox box)
		{
			box.Size = new Size(375, 214);

			box.Items.Insert(0, "Írassuk ki az összes film nevet amelyik [parameter] után jelentek meg");
			box.Items.Insert(1, "Adjuk meg azoknak a filmeknek a neveit amelyek 2000 és [parameter]között jelentek meg, és komédiák");
			box.Items.Insert(2, "Adjuk meg a rendezőknek a neveit akik rendeztek komédiát es akció filmet is");
			box.Items.Insert(3, "Mondjuk meg hány komédia jelent meg [parameter] óta");
			box.Items.Insert(4, "Melyik filmben szerepelt [parameter] utoljára");
			box.Items.Insert(5, "Melyik színészek szerepeltek több mint [parameter] filmben");
			box.Items.Insert(6, "Melyik filmek keszültek a [parameter] című filmmel egyszerre (2 hónap eltérés)");
			box.Items.Insert(7, "Mondjuk meg mindegyik színész hány filmben szerepelt");
			box.Items.Insert(8, "Adjuk meg azokat a filmeket amelyeknek összetett a műfaja");
			box.Items.Insert(9, "Adjuk meg azoka a filmeket amelyekben csak angol színészek szerepeltek");
			box.Items.Insert(10, "Hány komédia jelenik meg az elkövetkező holnapokban");
			box.Items.Insert(11, "Melyik a legjob film amelyik most megy mozikban");
		}

		////feltolti a lekerdezeseket szineszeknek
		public void feltoltLekerdezesekSzinesz(CheckedListBox box)
		{
			box.Size = new Size(375, 160);

			box.Items.Insert(0, "Írjuk ki azokat a színészek nevét, akik szerepeltek a 300 és a Gamer címő filmekbe");
			box.Items.Insert(1, "Adjuk meg azoknak a színészeknek a neveit, amelyek szerepeltek [parameter (tipus)] filmben");
			box.Items.Insert(2, "Melyik filmben szerepelt [parameter] utoljára");
			box.Items.Insert(3, "Melyik színészek szerepeltek több mint [parameter] filmben");
			box.Items.Insert(4, "Melyik a legfiatalabb színész az adatbázsban");
			box.Items.Insert(5, "Mondjuk meg mindegyik színész hány filmben szerepelt");
			box.Items.Insert(6, "Adjuk meg azokat a filmeket amelyekben csak angol színészek szerepeltek");
			box.Items.Insert(7, "Adjuk meg azokat a színészeket akik a legtobbszőr szerepelnek a 10 legjobb filmben");
		}

		////feltolti a lekerdezeseket rendezoknek
		public void feltoltLekerdezesekRendezo(CheckedListBox box)
		{
			box.Size = new Size(375, 70);

			box.Items.Insert(0, "Melyik rendező rendezett csak [parameter (tipus)] filmet");
			box.Items.Insert(1, "Adjuk meg azokat a rendezőket akik csak [parameter (tipus)] rendeztek");
			box.Items.Insert(2, "Melyik rendező rendezte a 10 legjobb film közül a legtöbet");
		}

		//betolti a lekerdezesek eredmenyet
		public void taroltSelectFeltolt(ListView lview, CheckedListBox box, String param,  String type)
		{
			switch (type)
			{
				case "Film":
					taroltSelectFeltoltFilm(lview, box, param);
					break;

				case "Rendezo":
					taroltSelectFeltoltRendezo(lview, box, param);
					break;

				case "Szinesz":
					taroltSelectFeltoltSzinesz(lview, box, param);
					break;
			}
		}

		////betolti a lekerdezesek eredmenyet filmeknek
		public void taroltSelectFeltoltFilm(ListView lview, CheckedListBox box, String param)
		{
			//if(param == "")
				
			//MessageBox.Show("Film");
			//MessageBox.Show(box.CheckedItems[0].ToString());
			//MessageBox.Show("mi a fax?");
			int checkedIndex = box.Items.IndexOf(box.CheckedItems[0].ToString());

			lview.Items.Clear();

			string error = "";

			List<String> data = new List<String>();

			try
			{

				myAccessConn.Close();
				myAccessConn.Open();

				SqlDataReader reader = null;

				switch (checkedIndex)
				{
					case 0:
						reader = myExecuteReader("SELECT FilmNev FROM Filmek WHERE KiDat > '1/1/" + param + "'", ref error);
						break;

					case 1:
						reader = myExecuteReader("SELECT FilmNev FROM Filmek, Mufaja, Mufaj WHERE Filmek.FilmID = Mufaja.FilmID AND Mufaja.MufajID = Mufaj.MufajID AND Mufaj.MufajNev = 'Komedia' AND KiDat > '1/1/00' AND KiDat < '1/1/" + param + "'", ref error);
						break;

					case 2:
						reader = myExecuteReader("SELECT Rendezok.Nev FROM Rendezok, Rendezte, Filmek, Mufaj, Mufaja WHERE Rendezok.RendezoID = Rendezte.RendezoID AND Rendezte.FilmID = Filmek.FilmID AND Filmek.FilmID = Mufaja.FilmID AND Mufaja.MufajID = Mufaj.MufajID AND Mufaj.MufajNev = 'Komedia' INTERSECT SELECT	Rendezok.Nev FROM Rendezok,	Rendezte, Filmek, Mufaj, Mufaja WHERE Rendezok.RendezoID = Rendezte.RendezoID AND Rendezte.FilmID = Filmek.FilmID AND Filmek.FilmID = Mufaja.FilmID AND Mufaja.MufajID = Mufaj.MufajID AND Mufaj.MufajNev = 'Akcio'", ref error);
						break;

					case 3:
						reader = myExecuteReader("SELECT COUNT (*) FROM Filmek,	Mufaj, Mufaja WHERE	Filmek.FilmID = Mufaja.FilmID AND Mufaja.MufajID = Mufaj.MufajID AND Mufaj.MufajNev = 'Komedia' AND KiDat > '1/1/" + param + "'", ref error);
						break;

					case 4:
						reader = myExecuteReader("SELECT Filmek.FilmNev FROM Filmek WHERE Filmek.KiDat = (SELECT MAX(Filmek.KiDat) FROM Filmek,	Szineszek,	Szerepel WHERE Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID AND Szineszek.Nev = '" + param + "'	GROUP BY Filmek.KiDat)", ref error);
						break;

					case 5:
						reader = myExecuteReader("DECLARE @TEMP1 TABLE(ID INT,Hany INT) INSERT INTO @TEMP1 SELECT Szineszek.SzineszID,	COUNT(Szineszek.SzineszID) FROM	Szerepel,	Szineszek WHERE	Szerepel.SzineszID = Szineszek.SzineszID GROUP BY Szineszek.SzineszID SELECT Szineszek.Nev FROM	Szineszek,	@TEMP1 WHERE Hany >= " + param + " AND Szineszek.SzineszID = ID", ref error);
						break;

					case 6:
						reader = myExecuteReader("SELECT	Filmek.FilmNev FROM	Filmek WHERE	Filmek.KiDat < (SELECT DATE_ADD(Filmek.KiDat, (INTERVAL 1 MONTH)) AS Alma FROM Filmek WHERE Filmek.FilmNev = '300') AND Filmek.KiDat < (SELECT DATE_SUB(Filmek.KiDat, INTERVAL 1 MONTH) AS Alma FROM Filmek WHERE Filmek.FilmNev Like '" + param + "')", ref error);
						break;

					case 7:
						//mindegyik szinesz hany filmbe szerepelt
						reader = myExecuteReader("SELECT	Szineszek.Nev, COUNT(*) AS Hany FROM	Szineszek,	Szerepel,	Filmek WHERE	Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID GROUP BY Szineszek.Nev", ref error);
						break;

					case 8:
						reader = myExecuteReader("DECLARE @TEMP2 TABLE(	Nev VARCHAR(50),	H INT) insert into @temp2 SELECT	Filmek.FilmNev,	COUNT (*) AS Hany FROM	Mufaj,	Mufaja,	Filmek WHERE	Filmek.FilmID = Mufaja.FilmID AND Mufaja.MufajID = Mufaj.MufajID GROUP BY Filmek.FilmNev SELECT	Nev FROM	@TEMP2 WHERE	H > 1", ref error);
						break;

					case 9:
						reader = myExecuteReader("SELECT DISTINCT	Filmek.FilmNev FROM	Filmek,	Szineszek,	Szerepel WHERE	Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID AND Szineszek.Nemzetiseg = 'English' EXCEPT SELECT DISTINCT	Filmek.FilmNev FROM	Filmek,	Szineszek,	Szerepel WHERE	Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID AND Szineszek.Nemzetiseg != 'English'", ref error);
						break;

					case 10:
						reader = myExecuteReader("SELECT	COUNT(*) as Hany FROM	Filmek WHERE	Filmek.MostID = 2", ref error);
						break;

					case 11:
						reader = myExecuteReader("DECLARE @TEMP7 TABLE(	FNev VARCHAR(30),	Ertek FLOAT) INSERT INTO @TEMP7 SELECT DISTINCT TOP 10	Filmek.FilmNev,	Ertekeles.Ertekeles FROM	Filmek,	Ertekeles WHERE	Filmek.FilmID = Ertekeles.FilmID ORDER BY Ertekeles.Ertekeles DESC SELECT DISTINCT	Filmek.FilmNev FROM	Filmek,	Ertekeles WHERE	Filmek.FilmID = Ertekeles.FilmID AND Ertekeles.Ertekeles = (SELECT MAX(Ertek) FROM @TEMP7)", ref error);
						break;
				}

				while (reader.Read())
				{
					data.Add(reader[0].ToString());
				}

				for (int i = 0; i < data.Count; i++)
				{
					ListViewItem item = new ListViewItem(data[i]);
					lview.Items.Add(item);
				}
			}
			catch (Exception e)
			{
				MessageBox.Show("Hiba a lekerdezesnel" + error);
			}
		}

		//betolti a lekerdezesek eredmenyet rendezokenk
		public void taroltSelectFeltoltRendezo(ListView lview, CheckedListBox box, String param)
		{
			//MessageBox.Show("Rendezo");

			int checkedIndex = box.Items.IndexOf(box.CheckedItems[0].ToString());

			lview.Items.Clear();

			string error = "";

			List<String> data = new List<String>();

			try
			{

				myAccessConn.Close();
				myAccessConn.Open();

				SqlDataReader reader = null;

				switch(checkedIndex)
				{
					case 0:
						reader = myExecuteReader("SELECT	Rendezok.Nev FROM	Rendezok,	Rendezte,	Filmek,	Mufaj,	Mufaja WHERE	Rendezok.RendezoID = Rendezte.RendezoID AND Rendezte.FilmID = Filmek.FilmID AND Filmek.FilmID = Mufaja.FilmID AND Mufaja.MufajID = Mufaj.MufajID AND Mufaj.MufajNev = '" + param + "' EXCEPT SELECT	Rendezok.Nev FROM	Rendezok,	Rendezte,	Filmek,	Mufaj,	Mufaja WHERE	Rendezok.RendezoID = Rendezte.RendezoID AND Rendezte.FilmID = Filmek.FilmID AND Filmek.FilmID = Mufaja.FilmID AND Mufaja.MufajID = Mufaj.MufajID AND Mufaj.MufajNev != '" + param + "'", ref error);
						break;

					case 1:
						reader = myExecuteReader("SELECT	Rendezok.Nev FROM	Rendezok,	Rendezte,	Filmek,	Mufaj,	Mufaja WHERE	Rendezok.RendezoID = Rendezte.RendezoID AND Rendezte.FilmID = Filmek.FilmID AND Filmek.FilmID = Mufaja.FilmID AND Mufaja.MufajID = Mufaj.MufajID AND Mufaj.MufajNev = '" + param + "' EXCEPT SELECT	Rendezok.Nev FROM	Rendezok,	Rendezte,	Filmek,	Mufaj,	Mufaja WHERE	Rendezok.RendezoID = Rendezte.RendezoID AND Rendezte.FilmID = Filmek.FilmID AND Filmek.FilmID = Mufaja.FilmID AND Mufaja.MufajID = Mufaj.MufajID AND Mufaj.MufajNev != '" + param + "'", ref error);
						break;

					case 2:
						reader = myExecuteReader("DECLARE @TEMP5 TABLE(	FNev VARCHAR(30),	Ertek FLOAT) INSERT INTO @TEMP5 SELECT DISTINCT TOP 10	Filmek.FilmNev,	Ertekeles.Ertekeles FROM	Filmek,	Ertekeles WHERE	Filmek.FilmID = Ertekeles.FilmID ORDER BY Ertekeles.Ertekeles DESC DECLARE @TEMP6 TABLE(	RNev VARCHAR(30),	HSZ INT) INSERT INTO @TEMP6 SELECT Rendezok.Nev,	COUNT (*) AS Hanyszor FROM	@TEMP5,	Filmek,	Rendezok,	Rendezte WHERE	FNev = Filmek.FilmNev AND Filmek.FilmID = Rendezte.FilmID AND Rendezte.RendezoID = Rendezok.RendezoID GROUP BY Rendezok.Nev SELECT	RNev FROM	@TEMP6 WHERE HSZ = (SELECT MAX(HSZ) FROM @TEMP6)", ref error);
						break;
				}

				while (reader.Read())
				{
					data.Add(reader[0].ToString());
				}

				for (int i = 0; i < data.Count; i++)
				{
					ListViewItem item = new ListViewItem(data[i]);
					lview.Items.Add(item);
				}
			}
			catch (Exception e)
			{
				MessageBox.Show("Hiba a lekerdezesnel" + error);
			}
		}

		//betolti a lekerdezesek eredmenyet szineszeknek
		public void taroltSelectFeltoltSzinesz(ListView lview, CheckedListBox box, String param)
		{
			//MessageBox.Show("Szinesz");

			int checkedIndex = box.Items.IndexOf(box.CheckedItems[0].ToString());

			lview.Items.Clear();

			string error = "";

			List<String> data = new List<String>();

			try
			{

				myAccessConn.Close();
				myAccessConn.Open();

				SqlDataReader reader = null;

				switch (checkedIndex)
				{
					case 0:
						reader = myExecuteReader("SELECT	Szineszek.Nev FROM	Filmek,	Szineszek,	Szerepel WHERE	Filmek.FilmNev = 'Gamer' AND Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID INTERSECT SELECT	Szineszek.Nev FROM	Filmek,	Szineszek,	Szerepel WHERE	Filmek.FilmNev = '300' AND Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID", ref error);
					break;

					case 1:
						reader = myExecuteReader("SELECT DISTINCT Szineszek.Nev FROM	Filmek,	Szineszek,	Szerepel,	Mufaj,	Mufaja WHERE	Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID AND Mufaja.FilmID = Filmek.FilmID AND Mufaja.MufajID = (SELECT Mufaj.MufajID FROM Mufaj WHERE MufajNev = '" + param + "')", ref error);
					break;

					case 2:
						reader = myExecuteReader("SELECT Filmek.FilmNev FROM Filmek WHERE Filmek.KiDat = (SELECT MAX(Filmek.KiDat) FROM Filmek,	Szineszek,	Szerepel WHERE Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID AND Szineszek.Nev = '" + param + "'	GROUP BY Filmek.KiDat)", ref error);
					break;

					case 3:
						reader = myExecuteReader("DECLARE @TEMP1 TABLE(ID INT,Hany INT) INSERT INTO @TEMP1 SELECT Szineszek.SzineszID,	COUNT(Szineszek.SzineszID) FROM	Szerepel,	Szineszek WHERE	Szerepel.SzineszID = Szineszek.SzineszID GROUP BY Szineszek.SzineszID SELECT Szineszek.Nev FROM	Szineszek,	@TEMP1 WHERE Hany >= " + param + " AND Szineszek.SzineszID = ID", ref error);
					break;

					case 4:
						reader = myExecuteReader("SELECT	Szineszek.Nev FROM	Szineszek WHERE	Szineszek.SzulDat = (SELECT MIN(Szineszek.SzulDat) FROM Szineszek)", ref error);
					break;

					case 5:
						//tobbet ad vixxa
						reader = myExecuteReader("SELECT	Szineszek.Nev, COUNT(*) AS Hany FROM	Szineszek,	Szerepel,	Filmek WHERE	Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID GROUP BY Szineszek.Nev", ref error);
					break;

					case 6:
						reader = myExecuteReader("SELECT DISTINCT	Filmek.FilmNev FROM	Filmek,	Szineszek,	Szerepel WHERE	Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID AND Szineszek.Nemzetiseg = 'English' EXCEPT SELECT DISTINCT	Filmek.FilmNev FROM	Filmek,	Szineszek,	Szerepel WHERE	Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID AND Szineszek.Nemzetiseg != 'English'", ref error);
					break;

					case 7:
						reader = myExecuteReader("DECLARE @TEMP3 TABLE(	FNev VARCHAR(30),	Ertek FLOAT) INSERT INTO @TEMP3 SELECT DISTINCT TOP 10	Filmek.FilmNev,	Ertekeles.Ertekeles FROM	Filmek,	Ertekeles WHERE	Filmek.FilmID = Ertekeles.FilmID ORDER BY Ertekeles.Ertekeles DESC DECLARE @TEMP4 TABLE(	SzNev VARCHAR(30),	HSZ INT) INSERT INTO @TEMP4 SELECT	Szineszek.Nev,	COUNT (*) AS Hanyszor FROM	@TEMP3,	Filmek,	Szerepel,	Szineszek WHERE	FNev = Filmek.FilmNev AND Filmek.FilmID = Szerepel.FilmID AND Szerepel.SzineszID = Szineszek.SzineszID GROUP BY Szineszek.Nev SELECT	SzNev FROM	@TEMP4 WHERE HSZ = (SELECT MAX(HSZ) FROM @TEMP4)", ref error);
					break;
				}

				while (reader.Read())
				{
					data.Add(reader[0].ToString());
				}

				for (int i = 0; i < data.Count; i++)
				{
					ListViewItem item = new ListViewItem(data[i]);
					lview.Items.Add(item);
				}
			}
			catch (Exception e)
			{
				MessageBox.Show("Hiba a lekerdezesnel" + error);
			}
		}

        public int Login(string nev, string jelszo)
        {

            SqlCommand command = new SqlCommand();
            myAccessConn.Close();
            myAccessConn.Open();
            /* command.Connection = myAccessConn;
             command.CommandText = "dbo.LoginSP";
             command.CommandType = CommandType.StoredProcedure;
             // input params
             command.Parameters.Add(new SqlParameter("@nev", nev));
             command.Parameters.Add(new SqlParameter("@Jelszo", jelszo));
             SqlDataReader rdr = command.ExecuteReader();
             int jog=0;
            // while(rdr.Read()){
             //rdr.Read();
               //  jog = rdr.GetInt32(0);
            // }*/
            string err = "";
            SqlDataReader rdr = null;
            rdr = myExecuteReader("select dbo.LoginSP('" + nev + "','" + jelszo + "')", ref err);
            // MessageBox.Show(err);
            int jog = 0;
            while (rdr.Read())
            {
                jog = rdr.GetInt32(0);
            }



            return jog;
        }

        public bool Register(string nev, string jelszo)
        {
            SqlCommand command = new SqlCommand();
            myAccessConn.Close();
            myAccessConn.Open();
             command.Connection = myAccessConn;
             command.CommandText = "dbo.registerSP";
             command.CommandType = CommandType.StoredProcedure;
             // input params
             command.Parameters.Add(new SqlParameter("@nev", nev));
             command.Parameters.Add(new SqlParameter("@pass", jelszo));
            SqlParameter ret =  command.Parameters.Add("@ret",SqlDbType.Int,sizeof(int));
            ret.Direction = ParameterDirection.Output;
           command.ExecuteNonQuery();
           int rett = (int)ret.Value;
             //SqlDataReader rdr = command.ExecuteReader();
            
             return (rett!=0);

         }

		public int getFelhIDByName(String nev)
		{
			SqlCommand command = new SqlCommand();
			myAccessConn.Close();
			myAccessConn.Open();
			string err = "";

			SqlDataReader rdr = null;
			rdr = myExecuteReader("Select FelhID From Felhasznalok Where FelhNev = '" + nev + "'", ref err);
			// MessageBox.Show(err);
			int id = 0;
			while (rdr.Read())
			{
				id = rdr.GetInt32(0);
			}

			return id;
		}

        public int vasarol(Kosar k) 
        {
            
            int i;
            int id;
            string idk="";
            string darabok = "";

            for ( i = 0; i < k.n-1; i++)
            {
                idk += (k.idk[i,0]).ToString();
                idk += ",";
            }
            idk += k.idk[i, 0].ToString();

            for (i = 0; i < k.n - 1; i++)
            {
                darabok += (k.idk[i, 1]).ToString();
                darabok += ",";
            }
            darabok += k.idk[i, 1].ToString();

            id = k.felhID;
            
            SqlCommand command = new SqlCommand();
            myAccessConn.Close();
            myAccessConn.Open();
            command.Connection = myAccessConn;
            command.CommandText = "dbo.vasarolSP";
            command.CommandType = CommandType.StoredProcedure;
            // input params
            command.Parameters.Add(new SqlParameter("@idk", idk));
            command.Parameters.Add(new SqlParameter("@drbok", darabok));
            command.Parameters.Add(new SqlParameter("@felhID", id));
            SqlParameter ret = command.Parameters.Add("@ret", SqlDbType.Int, sizeof(int));
            ret.Direction = ParameterDirection.Output;
            command.ExecuteNonQuery();
            int rett = (int)ret.Value;
            //SqlDataReader rdr = command.ExecuteReader();

            if (rett == 0)
                MessageBox.Show("Toroltem a szineszt!");
            else
                if (rett == 1)
                    MessageBox.Show("Nem sikerult a torles(szerepel valamelyik filmben)");
                else
                    MessageBox.Show("Nem sikerult a torles(nem letezik)");
            return rett;
        }

        public void xmlExport()
        {
            try
            {
                DataSet ds = new DataSet();

                DataTable dtSzamlak = QueryCmd("SELECT * FROM Szamlak");
                DataTable dtFelhasznalok = QueryCmd("SELECT * FROM Felhasznalok");
                DataTable dtFelhJogok = QueryCmd("SELECT * FROM FelhJogok");

                DataColumn szamlaID = dtSzamlak.Columns["SzamlaID"];
                dtSzamlak.PrimaryKey = new DataColumn[] { szamlaID };


                DataColumn FelhID = dtFelhasznalok.Columns["FelhID"];
                dtFelhasznalok.PrimaryKey = new DataColumn[] { FelhID };

                DataColumn jogID = dtFelhJogok.Columns["JogID"];
                dtFelhJogok.PrimaryKey = new DataColumn[] { jogID };

                dtSzamlak.TableName = "Szamlak";
                dtFelhasznalok.TableName = "Felhasznalok";
                dtFelhJogok.TableName = "Felhasznalojogok";
               


                ds.Tables.Add(dtSzamlak);
                ds.Tables.Add(dtFelhasznalok);
                ds.Tables.Add(dtFelhJogok);

				DataColumn primarykey = ds.Tables["Felhasznalok"].Columns["FelhID"];

                DataColumn foreignkey = ds.Tables["Szamlak"].Columns["FelhID"];

                DataRelation relation = ds.Relations.Add(primarykey, foreignkey);
                    
                relation.Nested = true;


				DataColumn primarykey2 = ds.Tables["Felhasznalojogok"].Columns["JogID"];

				DataColumn foreignkey2 = ds.Tables["Felhasznalok"].Columns["FelhJogID"];

                DataRelation relation2 = ds.Relations.Add(primarykey2, foreignkey2);

                relation2.Nested = true;

                ds.DataSetName = "Film_Adatbazis";

                ds.WriteXml("C:/AbXml/alldata.xml", System.Data.XmlWriteMode.IgnoreSchema);
                ds.WriteXmlSchema("C:/AbXml/xmlschema.xml");

                MessageBox.Show("XML es XSD sikeresen legeneralva a E:/szamla/ konyvtarba!");

            }
            catch (Exception e)
            {
                MessageBox.Show("HIBA!" + e.Message);
            }
        }
	}
}
